Skip to content

Add refactored GCC implementation#2

Open
mengelbart wants to merge 33 commits intomasterfrom
feat/gcc
Open

Add refactored GCC implementation#2
mengelbart wants to merge 33 commits intomasterfrom
feat/gcc

Conversation

@mengelbart
Copy link
Contributor

@mengelbart mengelbart commented Oct 4, 2025

This PR contains a refactored version of the GCC implementation from pion/interceptor. It includes a simulation test that runs >100 simulations using vnet from pion/transport. Simulations are hidden behind a simulation build tag, because they generate a lot of log files. The simulation package contains a simple python script to create plots for each of the simulation experiments. In a future PR, I plan to replace the GCC implementation in pion/interceptor with the one implemented here.

To run the simulation, run go test -v -tags=simulation ./simulation/. It will create a directory simulation/logs containing two log files for each run, one containing packet logs from the packet dumper interceptor and one containing pion logs. To create plots, run ./main.py from within the simulation directory. The plots will be placed in the logs directory. Alternatively, you can pass input or output to the script manually, using the '-i', or '-o' flags.

This PR should not be merged before pion/interceptor#374. When that PR is merged, the go.mod reference in this PR needs to be updated.

@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

❌ Patch coverage is 55.08685% with 181 lines in your changes missing coverage. Please review.
✅ Project coverage is 55.08%. Comparing base (e4e39d3) to head (94cf8ba).

Files with missing lines Patch % Lines
gcc/delay_rate_controller.go 0.00% 55 Missing ⚠️
gcc/kalman.go 0.00% 45 Missing ⚠️
gcc/send_side_bwe.go 0.00% 42 Missing ⚠️
gcc/state.go 69.56% 14 Missing ⚠️
gcc/usage.go 0.00% 10 Missing ⚠️
gcc/arrival_group_accumulator.go 80.95% 7 Missing and 1 partial ⚠️
gcc/rate_controller.go 83.33% 7 Missing ⚠️

❌ Your patch check has failed because the patch coverage (55.08%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##           master       #2       +/-   ##
===========================================
+ Coverage        0   55.08%   +55.08%     
===========================================
  Files           0       11       +11     
  Lines           0      403      +403     
===========================================
+ Hits            0      222      +222     
- Misses          0      180      +180     
- Partials        0        1        +1     
Flag Coverage Δ
go 55.08% <55.08%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mengelbart mengelbart force-pushed the feat/gcc branch 7 times, most recently from 9d45de5 to 195285a Compare October 16, 2025 09:42
@mengelbart mengelbart force-pushed the feat/gcc branch 8 times, most recently from c05dd2f to 7d98306 Compare October 20, 2025 15:23
@mengelbart mengelbart force-pushed the feat/gcc branch 4 times, most recently from d01e534 to 6fb5b52 Compare January 28, 2026 16:25
@mengelbart mengelbart marked this pull request as ready for review January 28, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant